Little changes on Colombian Programming Contest solutions.
[and.git] / 190 - Circle through three points / 190.cpp
blobd4c92a9154f4b75fea657409803f2540b6429818
1 using namespace std;
2 #include <algorithm>
3 #include <iostream>
4 #include <iterator>
5 #include <sstream>
6 #include <fstream>
7 #include <cassert>
8 #include <climits>
9 #include <cstdlib>
10 #include <cstring>
11 #include <string>
12 #include <cstdio>
13 #include <vector>
14 #include <cmath>
15 #include <queue>
16 #include <deque>
17 #include <stack>
18 #include <list>
19 #include <map>
20 #include <set>
22 template <class T> string toStr(const T &x){ stringstream s; s << x; return s.str(); }
23 template <class T> int toInt(const T &x){ stringstream s; s << x; int r; s >> r; return r; }
25 #define For(i, a, b) for (int i=(a); i<(b); ++i)
26 #define foreach(x, v) for (typeof (v).begin() x = (v).begin(); x != (v).end(); ++x)
27 #define D(x) cout << #x " = " << (x) << endl
29 struct point{
30 double x, y;
31 point(){} point(double x, double y) : x(x), y(y) {}
32 const point perp() const{
33 return point(-y, x);
35 point operator - (const point &t) const{
36 return point(x - t.x, y - t.y);
38 point operator + (const point &t) const{
39 return point(x + t.x, y + t.y);
41 point operator / (double t) const{
42 return point(x / t, y / t);
46 point circle3points(const point &a, const point &b, const point &c){
50 int main(){
51 double x0, y0, x1, y1, x2, y2;
52 while (scanf("%lf%lf%lf%lf%lf%lf", &x0, &y0, &x1, &y1, &x2, &y2)==6){
53 point a(x0, y0), b(x1, y1), c(x2, y2);
56 return 0;